Danilo werd geboren in de voormalige Portugese kolonie Guinee-Bissau als oudste kind van Quinta Djata, een verpleegster. Toen Danilo vijf jaar oud was, emigreerde de familie naar Portugal als gevolg van de precaire situatie in hun thuisland. Danilo begon op zijn achtste te voetballen bij de Portugese club Arsenal 72. Drie jaar later vertrok hij naar Estoril Praia, een club die in het jaar van Danilo's overstap promoveerde naar de Primeira Liga. In 2008 vertrok de jonge voetballer naar Benfica, waar hij in 2010 zijn jeugdopleiding afrondde.
Toen Danilo achttien was, kreeg hij te horen dat Benfica niet meer met hem verder wilde. Hij vertrok hierop transfervrij naar het Italiaanse Parma FC. Hier speelde Danilo vier wedstrijden, toen hij in de winterstop van het seizoen 2010/11 werd verhuurd aan Aris FC in Thessaloniki. In een half seizoen kwam hij tot vijf wedstrijden, waarin Pereira tweemaal het net wist te vinden. In het seizoen 2011/12 kwam Danilo vijfmaal binnen de lijnen voor Parma FC, waarop hij in de zomer van 2012 aan Roda JC werd verhuurd. In het seizoen 2012/13 speelde hij als basisspeler 31 wedstrijden in de Eredivisie.[1] In juli 2013 maakte Danilo transfervrij de overstap naar CS Marítimo, waar hij twee seizoenen speelde. In de zomer van 2015 volgde een transfer naar FC Porto, waarvoor hij in het seizoen 2015/16 33 competitieduels speelde en zes doelpunten maakte.
Op 3 januari 2017 kreeg hij, voor een opmerkelijke situatie, de rode kaart uitgereikt. Tijdens een wedstrijd voor het Portugese bekertoernooi tegen Moreirense FC ontving Danilo in de 76e minuut een gele kaart. Toen hij vier minuten later per ongeluk tegen de scheidsrechter opbotste, kreeg hij zijn tweede gele kaart toegekend, waarop hij het veld moest verlaten.[2]
Pereira maakte zijn debuut in het Portugees voetbalelftal in een vriendschappelijke interland tegen Kaapverdië (0–2 nederlaag) op 31 maart 2015.[3] Bondscoach Fernando Santos nam hem op 17 mei 2016 op in de Portugese selectie voor het Europees kampioenschap voetbal 2016 in Frankrijk.[4] Zijn landgenoten en hij wonnen hier voor het eerst in de geschiedenis van Portugal een groot landentoernooi. Een doelpunt van Éder in de verlenging besliste de finale tegen Frankrijk: 1–0. Pereira nam in juni 2017 met Portugal deel aan de FIFA Confederations Cup 2017, waar de derde plaats werd bereikt. Portugal won in de troostfinale van Mexico (2–1 na verlenging). Danilo werd op 21 mei 2024 door Roberto Martínez opgenomen in de Portugese selectie voor het EK 2024 in Duitsland.[5]